File FunThis script shows how to open files, open projects, collect names of the Comps in the scene, prompt a user for where to write a file, write to a text file, and save the text file. It is useful only as an example of how the individual methods and attributes operate; it doesn't serve any useful production purpose. // First, close any project that might be open. if (app.project != null){ // 3 choices here, CloseOptions.DO_NOT_SAVE_CHANGES, // CloseOptions.PROMPT_TO_SAVE_CHANGES, and CloseOptions.SAVE_CHANGES app.project.close(CloseOptions.DO_NOT_SAVE_CHANGES); } // Prompt the user to pick a project file: // First argument is a prompt, second is the file type. var pfile = fileGetDialog("Select a project file to open", "EggP aep"); if (pfile == null){ alert("No project file selected. Aborting."); } else { // Open that file. It becomes the current project. var my_project = app.open( pfile ); // Build a default text file name from the project's filename. // Remove the ".aep" file extension (if present), then add //_compnames.txt. var default_text_filename; var suffix_index = pfile.name.lastIndexOf(".aep"); if (suffix_index != -1){ default_text_filename = pfile.name.substring(0,suffix_index); }else { default_text_filename = pfile.name; } default_text_filename += "_compnames.txt"; // Create another file object for the file we'll write out. // First argument is the prompt, second is a default file name, third is //the file type. var text_file = filePutDialog("Select a file to output your results", default_text_filename, "TEXT txt"); if (text_file == null){ alert("No output file selected. Aborting."); } else { // opens file for writing. First argument is mode ("w" for writing), // second argument is file type (for mac only), // third argument is creator (mac only, "????" is no specific app). text_file.open("w","TEXT","????"); // Write the heading of the file: text_file.writeln("Here is a list of all the comps in " + pfile.name); text_file.writeln(); for (var i = 1; i <= app.project.numItems; i++){ if (app.project.item(i) instanceof CompItem){ text_file.writeln(app.project.item(i).name); } } text_file.close(); alert("All done!"); } } |